package qcmPlus.dao;

import java.util.ArrayList;

import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.hibernate.Session;

import qcmPlus.beans.Questionnaire;
import qcmPlus.tools.HibernateUtil;

public class QuestionnaireDao implements InterfaceGeneriqueDAO<Questionnaire> {

	private static Logger logger = Logger.getLogger(QuestionnaireDao.class);

	public Questionnaire getQuestionnaire(int id) {
		Session s = HibernateUtil.currentSession();
		Questionnaire questionnaire = (Questionnaire) s.get(
				Questionnaire.class, id);
		HibernateUtil.closeSession();
		return questionnaire;
	}

	public ArrayList<Questionnaire> list() {
		Session s = HibernateUtil.currentSession();
		ArrayList<Questionnaire> questionnaires = null;
		@SuppressWarnings("unchecked")
		ArrayList<Questionnaire> list = (ArrayList<Questionnaire>) s
				.createQuery("from Questionnaire order by id").list();
		if (list.size() == 0) {
			logger.log(Level.INFO, "Liste questionnaire vide");
		}
		questionnaires = list;
		HibernateUtil.closeSession();
		return questionnaires;
	}

	public String insertion(String nom, String description) {
		Session s = HibernateUtil.currentSession();
		Questionnaire questionnaire = new Questionnaire(nom, description);
		s.save(questionnaire);
		HibernateUtil.closeSession();
		return "ok";
	}

	public String modification(Questionnaire questionnaire) {
		Session s = HibernateUtil.currentSession();
		s.update(questionnaire);
		HibernateUtil.closeSession();
		return "ok";
	}

	public String suppression(Questionnaire questionnaire) {
		Session s = HibernateUtil.currentSession();

		s.delete(questionnaire);
		HibernateUtil.closeSession();
		return "ok";
	}

}
